“Plug and Play” is a combination of hardware and software that enables a computer system to recognize and adapt to hardware configuration changes with little or no user intervention. With “Plug and Play”, peripheral and other devices may be added or removed dynamically, without awkward and confusing manual configuration, and without an intricate knowledge of computer hardware.
In order to install or use a peripheral or other device without an external driver, the peripheral or other device must conform to at least one of a number of specific classes. Operating systems such as, for example, “Windows” 2000 must pre-load the corresponding class driver. With the class driver preloaded, the operating system may then perform the following tasks:                (a) automatic and dynamic recognition of installed hardware including initial system installation, recognition of any “Plug and Play” hardware changes that have occurred since the last system boot, and response to run-time hardware events such as, for example, dock or undock and device insertion or removal; and        (b) loading of appropriate drivers by the “Plug and Play” manager determining which drivers are required to support a particular functional unit and the loading of those drivers.        
However, the driver only includes certain common and existing classes such as, for example, a generic mass storage class, a human interface device class, and a video class. A particular class driver may no longer be applicable if the functional unit manufacturer has added some new features. In this case the functional unit manufacturer may need to supply their own driver preloaded in a non-volatile memory such as a CDROM, or via the Internet. Without the driver the functional unit is not usable on the host, or any other host computer.